Design Patterns: Elements of Reusable Object-Oriented Software ... Note, though, that it's not a tutorial but a catalog that you can use to find an object -oriented design pattern that's appropriate for the needs of your particular ...